gdk[cairo|gl]context-win32.c: Use gdk_win32_surface_handle_queued_move_resize()
authorChun-wei Fan <fanchunwei@src.gnome.org>
Wed, 5 Aug 2020 02:43:11 +0000 (10:43 +0800)
committerChun-wei Fan <fanchunwei@src.gnome.org>
Wed, 5 Aug 2020 08:23:14 +0000 (16:23 +0800)
Use the shared function that was added in the previous commit, to simplify
things.

Also make gdk_win32_surface_get_queued_window_rect() and
gdk_win32_surface_apply_queued_move_resize() back into static functions, since
they are now used only by the code in gdksurface-win32.c

gdk/win32/gdkcairocontext-win32.c
gdk/win32/gdkglcontext-win32.c
gdk/win32/gdksurface-win32.c
gdk/win32/gdksurface-win32.h

index fa3b834faee60f4c6ce1163631eacf1361878421..27f8baa36fe2d1324c5bc211864026550fec96f3 100644 (file)
@@ -107,23 +107,7 @@ gdk_win32_cairo_context_begin_frame (GdkDrawContext *draw_context,
   impl = GDK_WIN32_SURFACE (surface);
   scale = gdk_surface_get_scale_factor (surface);
 
-  self->layered = impl->layered;
-
-  gdk_win32_surface_get_queued_window_rect (surface, scale, &queued_window_rect);
-
-  /* Apply queued resizes for non-double-buffered and non-layered windows
-   * before painting them (we paint on the window DC directly,
-   * it must have the right size).
-   * Due to some poorly-undetstood issue delayed
-   * resizing of double-buffered windows can produce weird
-   * artefacts, so these are also resized before we paint.
-   */
-  if (impl->drag_move_resize_context.native_move_resize_pending &&
-      !self->layered)
-    {
-      impl->drag_move_resize_context.native_move_resize_pending = FALSE;
-      gdk_win32_surface_apply_queued_move_resize (surface, queued_window_rect);
-    }
+  queued_window_rect = gdk_win32_surface_handle_queued_move_resize (draw_context);
 
   width = queued_window_rect.right - queued_window_rect.left;
   height = queued_window_rect.bottom - queued_window_rect.top;
index a500ffcddc3002f4f8cb0d736d4cf6d6e174cfc4..ed2165d3e2c6da57944d9fa798826abe9f93dc80 100644 (file)
@@ -243,27 +243,10 @@ gdk_win32_gl_context_begin_frame (GdkDrawContext *draw_context,
 {
   GdkGLContext *context = GDK_GL_CONTEXT (draw_context);
   GdkSurface *surface;
-  GdkWin32Surface *impl;
-  RECT queued_window_rect;
 
   surface = gdk_gl_context_get_surface (context);
-  impl = GDK_WIN32_SURFACE (surface);
 
-  gdk_win32_surface_get_queued_window_rect (surface,
-                                            gdk_surface_get_scale_factor (surface),
-                                            &queued_window_rect);
-
-  /* Apply queued resizes GL windows before painting them
-   *  (we paint on the window DC directly, it must have the right size).
-   * Due to some poorly-understood issue delayed
-   * resizing of double-buffered windows can produce weird
-   * artefacts, so these are also resized before we paint.
-   */
-  if (impl->drag_move_resize_context.native_move_resize_pending)
-    {
-      impl->drag_move_resize_context.native_move_resize_pending = FALSE;
-      gdk_win32_surface_apply_queued_move_resize (surface, queued_window_rect);
-    }
+  gdk_win32_surface_handle_queued_move_resize (draw_context);
 
   GDK_DRAW_CONTEXT_CLASS (gdk_win32_gl_context_parent_class)->begin_frame (draw_context, update_area);
   if (gdk_gl_context_get_shared_context (context))
index 9aa33b96ac51b8b903c3b831119d73d885c1c305..bcee5ce24223dffcc1a453422692412b4c6cae9b 100644 (file)
@@ -5103,7 +5103,7 @@ _gdk_win32_surface_get_egl_surface (GdkSurface *surface,
 }
 #endif
 
-void
+static void
 gdk_win32_surface_get_queued_window_rect (GdkSurface *surface,
                                           int         scale,
                                           RECT       *return_window_rect)
@@ -5125,7 +5125,7 @@ gdk_win32_surface_get_queued_window_rect (GdkSurface *surface,
   *return_window_rect = window_rect;
 }
 
-void
+static void
 gdk_win32_surface_apply_queued_move_resize (GdkSurface *surface,
                                             RECT        window_rect)
 {
index 7fb35ed7643affb64df9cc6467d92b88922511f0..1f54b7b070b660648a27be21a1bf149c97042683 100644 (file)
@@ -396,15 +396,6 @@ void gdk_win32_surface_move_resize (GdkSurface *window,
 RECT
 gdk_win32_surface_handle_queued_move_resize (GdkDrawContext *draw_context);
 
-void
-gdk_win32_surface_get_queued_window_rect (GdkSurface *surface,
-                                          int         scale,
-                                          RECT       *return_window_rect);
-
-void
-gdk_win32_surface_apply_queued_move_resize (GdkSurface *surface,
-                                            RECT        window_rect);
-
 #ifdef GDK_WIN32_ENABLE_EGL
 EGLSurface _gdk_win32_surface_get_egl_surface (GdkSurface *surface,
                                                EGLConfig   config,